package com.dbh.company.econtract;

import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;

/**
 * @author dongbanghui
 * @create 2023/7/3
 */
public class RemoteOperate {

    /**
     * 更新contract_subject表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果 --- 11702003
     */
    public static String batchUpdateContractSubject(BatchUpdateParam batchUpdateParam, String domain) {
        String url = domain + "/manualFlushed/batchUpdateContractSubject";
        return batchUpdateData(url, batchUpdateParam);
    }

    /**
     * 更新contract_subject_third表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateContractSubjectThird(BatchUpdateParam batchUpdateParam, String domain) {
        String url =  domain + "/manualFlushed/batchUpdateContractSubjectThird";
        return batchUpdateData(url, batchUpdateParam);
    }

    /**
     * 更新contract_status_log表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateContractStatusLog(BatchUpdateParam batchUpdateParam, String domain) {
        String url =  domain + "/manualFlushed/batchUpdateContractStatusLog";
        return batchUpdateData(url, batchUpdateParam);
    }

    /**
     * 更新subject_register_log表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateSubjectRegisterLog(BatchUpdateParam batchUpdateParam, String domain) {
        String url =  domain + "/manualFlushed/batchUpdateSubjectRegisterLog";
        return batchUpdateData(url, batchUpdateParam);
    }

    public static String batchSelectContractSubject(BatchUpdateParam batchUpdateParam, String domain) {
        String url =  domain + "/manualFlushed/batchSelectContractSubject";
        return batchUpdateData(url, batchUpdateParam);
    }

    public static String batchSelectContractSubjectThird(BatchUpdateParam batchUpdateParam, String domain) {
        String url =  domain + "/manualFlushed/batchSelectContractSubjectThird";
        return batchUpdateData(url, batchUpdateParam);
    }

    public static String batchUpdateContractSubjectLocal(BatchUpdateParam batchUpdateParam, String domain) {
        String url =  domain + "/manualFlushed/batchUpdateContractSubjectLocal";
        return batchUpdateData(url, batchUpdateParam);
    }

    /**
     * 更新contract_subject表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateContractSubjectNull(BatchUpdateParam batchUpdateParam, String domain) {
        String url = domain + "/manualFlushed/batchUpdateContractSubjectNull";
        return batchUpdateData(url, batchUpdateParam);
    }


    /**
     * 更新contract_subject_third表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateContractSubjectThirdNull(BatchUpdateParam batchUpdateParam, String domain) {
        String url = domain + "/manualFlushed/batchUpdateContractSubjectThirdNull";
        return batchUpdateData(url, batchUpdateParam);
    }

    /**
     * 更新contract_subject表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateContractStatusLogNull(BatchUpdateParam batchUpdateParam, String domain) {
        String url = domain + "/manualFlushed/batchUpdateContractStatusLogNull";
        return batchUpdateData(url, batchUpdateParam);
    }

    /**
     * 更新contract_subject表中摘要字段
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateSubjectRegisterLogNull(BatchUpdateParam batchUpdateParam, String domain) {
        String url = domain + "/manualFlushed/batchUpdateSubjectRegisterLogNull";
        return batchUpdateData(url, batchUpdateParam);
    }


    /**
     * 更新数据
     * @param url 更新数据的url
     * @param batchUpdateParam 范围参数
     * @return 执行结果
     */
    public static String batchUpdateData(String url, BatchUpdateParam batchUpdateParam) {
        return HttpRequest.post(url)
                .header("applicationId", "10025")
                .contentType("application/json;charset=UTF-8")
                .body(JSONUtil.toJsonStr(batchUpdateParam))
                .execute().body();
    }
}
